Introduction

To this point in your object-oriented design work, you have been considering the design of classes mostly in isolation. When you move to the development of larger software systems those skills need to be expanded. You need to begin considering how classes effect other classes, and how they interact with each other. There are a number of principles that have been put forward for quality object-oriented designs. We will discuss object-oriented design in more detail in two lessons. Each lesson will focus on design principles from the two sets of principles known as SOLID and GRASP (General responsibility assignment software patterns/principles). This first lesson will also cover the Law of Demeter.

This lesson will look at these principles:

Learning Outcomes

Study Resources

For your study of this topic, use these resources.

Video Lessons

Web Articles and Blogs

Books

Wikipedia

Class Lecture

Exercises

Before-Class Exercises

After-Class Exercises

End-Of-Day Exercises